$(function() {
	initUI();
	events();
});

function initUI() {
	$('#userDataGrid').datagrid({
		// 定义列
		columns : [ [ {
			field : 'ck',
			checkbox : true
		}, {
			field : 'name',
			title : '名称',
			width : 14.3
		}, {
			field : 'code',
			title : '编码',
			width : 14.3
		}, {
			field : 'account',
			title : '账户',
			width : 14.3
		}, {
			field : 'sex',
			title : '性别',
			width : 14.3
		}, {
			field : 'email',
			title : '邮件',
			width : 14.3
		}, {
			field : 'tel',
			title : '电话',
			width : 14.3
		}, {
			field : 'status',
			title : '状态',
			width : 14.3
		} ] ],
		url : 'user/dataGrid.action',
		// 分页工具栏
		pagination : true,
		// 行号
		rownumbers : true,
		// 列宽
		fitColumns : true,
		striped : true,
		fit : true,
		border : false,
		// 添加顶部工具栏
		toolbar : '#gridToolBar'
	});

	
}

function events() {

	$('#addButt').bind('click', function() {
		initAddDlg();
		// 打开权限添加框
		$('#addDlg').dialog('open').dialog('setTitle', '添加');
	});
	$('#updateButt').bind('click', function() {
		initAddDlg();
		var selections = $('#userDataGrid').datagrid('getSelections');
		if (selections.length == 1) {
			// 打开权限添加框
			// 如果有选中的条目，则将选中条目的值填充到form中
			$('#addDlg').form('load', selections[0]);
			$('#addDlg').dialog('open').dialog('setTitle', '修改');
		} else if (selections.length == 0) {
			sendMessage('提示', '请选择需要修改的用户！');
		} else {
			sendMessage('提示', '只能选择一个需要修改的用户！');
		}
	});
	$('#delButt').bind('click', function() {
		var selections = $('#userDataGrid').datagrid('getSelections');
		if (selections.length == 0) {
			sendMessage('提示', '请选择需要删除的用户！');
		} else {
			var ids = '';
			$.each(selections, function() {
				ids += this.id
				ids += ','
			})
			console.log(ids);
			$.ajax({
				url : 'user/delete.action',
				data : {
					'ids' : ids
				},
				success : function(result) {
					if (result.success) {
						$('#userDataGrid').datagrid('reload');
						sendMessage('提示', '删除用户成功')
					}
				}
			})
		}
	});
	
	$('#openGrantDlg').bind('click',function(){

		var selections = $('#userDataGrid').datagrid('getSelections');
		if (selections.length == 1) {
			initGrantDlg(selections[0].id);
			// 打开权限添加框
			$('#grantDlg').dialog('open').dialog('setTitle', '授权');
			
		} else if (selections.length == 0) {
			sendMessage('提示', '请选择需要授权的用户！');
		} else {
			sendMessage('提示', '只能选择一个需要授权的用户！');
		}

	});
	
	// 给addDlg的底部按钮绑定事件
	$('#saveButt').bind('click',function() {
						$('#userForm').form('submit', {
							url : 'user/addOrUpdate.action',
							onSubmit : function(data) {
								return $('#userForm').form('validate');
							},
							success : function(result) {
								result = $.parseJSON(result);
								if (result.success) {
									$('#addDlg').dialog('close');
									$('#userForm').form('clear');
									$('#userDataGrid').datagrid('reload');
									sendMessage('提示', '操作成功！');
								} else {
									var msg = '操作失败！原因如下：';
									$.each(result.message, function(i, val) {
										msg += "<br>";
										msg += val;
									});
									sendMessage('提示', msg);
								}
							}
						});
					});
	$('#offAddDlg').bind('click', function() {
		$('#addDlg').dialog('close');
	});
	
	$('#grantButt').bind('click',function(){
		var userSelections = $('#userDataGrid').datagrid('getSelections');
		var roleSelections = $('#roleDataList').datagrid('getSelections');
		var ids = '';
		$.each(roleSelections,function(i,selected){
			ids += selected.id;
			ids += ',';
		});
		$.ajax({
			url:'user/setUserRole.action',
			data:{'id':userSelections[0].id,'ids':ids},
			success:function(result){
				if(result.success){
					$('#grantDlg').dialog('close');
					sendMessage('提示','用户授权成功！');
				}
			}
		});
		
		
	});
	$('#offGrantDlg').bind('click',function(){
		$('#grantDlg').dialog('close');
	});

}


function sendMessage(title, msg) {
	$.messager.show({
		title : title,
		msg : msg,
		timeout : 6000,
		showType : 'slide'
	})
}

function initAddDlg(){
	// 初始化dialog
	$('#addDlg').dialog({
		width : 350,
		height : 380,
		modal : true,
		closed : true,
		collapsible : false,
		minimizable : false,
		maximizable : false,
		// 关闭后清空form中input的值
		onClose : function() {
			$('#userForm').form('reset');
		},
		buttons : '#addDlgButtons'
	});
	
	// 初始化添加框中input组件
	$('#nameInput').textbox({
		required : true,
	});
	$('#codeInput').textbox({
		required : true,
	});
	$('#accountInput').textbox({
		required : true,
	});
	$('#orgInput').combotree({
		url : 'org/getOrgCatalog.action',
		idFiled : 'id',
		textFiled : 'name',
		parentField : 'pid',
	});
	$('#sexInput').combobox({
		required : true,
		valueField: 'value',
		textField: 'text',
		data:[{
			text:'男',
			value:'male',
		},{
			text:'女',
			value:'female',
		}],
		value:'male'
	});
	$('emailInput').textbox({
	});
	$('#telInput').textbox({
	});
	$('#statusInput').combobox({
		required : true,
		valueField: 'value',
		textField: 'text',
		data:[{
			text:'启用',
			value:'on',
		},{
			text:'停用',
			value:'off',
		}],
		value:'on'
	});
	$('#pwdInput').textbox({
	});
}

function initGrantDlg(userId){
	$('#grantDlg').dialog({
		width : 350,
		height : 380,
		modal : true,
		closed : true,
		collapsible : false,
		minimizable : false,
		maximizable : false,
		onBeforeOpen : function() {
			$('#roleDataList').datalist({
			    url: 'role/roleCatalog.action',
			    textField:'name',
			    valueField:'id',
			    idField:'id',
			    checkbox: true,
			    lines: true ,
			    border:false,
			    singleSelect:false,
			    onLoadSuccess:function(){
			    	$.ajax({
			    		url:'user/getUserRole.action;',
			    		data:{'id':userId},
			    		success:function(result){
			    			$.each(result,function(i,role){
			    				$('#roleDataList').datalist('selectRecord',role.id);
			    			});
			    		}
			    	});
			    	
			    }
			});
		},
		buttons : '#grantDlgButtons'
	});
}